class CarritoController < ApplicationController
  def index
    redirect_to :action => "mostrar"
  end

  def mostrar
    if not session[:carrito]
      flash[:notice] = "Su carrito está vacío"
      redirect_to :controller => "productos" and return
    else
      @total = 0
      @carrito = session[:carrito]
      @carrito.items.each \
          { |i| @total = @total + i.producto.precio * i.cantidad }
    end
  end

  def anadir
    @producto = Producto.find(params[:id])
    get_carrito.anadir_producto(@producto)
    redirect_to :action => "mostrar"
  end

  def vaciar
    session[:carrito] = nil
    index
  end

  def comprar
    @comprando = true
    mostrar
    render :action => "mostrar"
  end

  def confirmar
    # Aquí irá la lógica para crear el pedido
    @confirmando = true
    flash[:notice] = "Su pedido ha sido realizado. Imprima esta página."
    mostrar
    render :action => "mostrar"
  end

  def resumen    
    if not session[:carrito]
      
    else
      @total = 0
      @articulos = 0
      @carrito = session[:carrito]
      @carrito.items.each \
          { |i| @total = @total + i.producto.precio * i.cantidad
                @articulos = @articulos + i.cantidad }
    end
    render(:layout => false)
  end

  private

  def get_carrito
    session[:carrito] ||= Carrito.new
  end

end
